<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>9.数值与空白元字符</title>
    </head>
    <body>
        <script type="text/javascript">
// 元字符  一个字符中的一个；
// let hd ="houdunerne 2010";
// console.log(hd.match(/\d\d\d\d/)); // 2020
// console.log(hd.match(/\d/g)); // ["2","0","1","0"]
// console.log(hd.match(/\d+/g)); // ["2010"];

// let hd=`
// 张三:010-99999999,
// 李四:020-88888888
// `
// console.log(hd.match(/\d{3}-\d{7,8}/));  // 010-99999999
// console.log(hd.match(/\d{3}-\d{7,8}/g));  // ["010-99999999", "020-88888888"]


// \d 数字
// \D 除了数字 (反向)
// let hd ="houdunerne 2010";
// console.log(hd.match(/\D+/)); // ["2010"];


// let hd=`
// 张三:010-99999999,
// 李四:020-88888888
// `
// console.log(hd.match(/[-\d:,]/g));  //[] 原子表 ：- 数字 冒号 逗号 都要  //[":", "0", "1", "0", "-", "9", ......
//  console.log(hd.match(/[^-\d:,]/g));  //[] 原子表 ：- 数字 冒号 逗号 【除了】这些都要  // ["↵", "张", "三", "↵", "李", "四", "↵"]

// match() 字符串的方法    即 对象是字符串，因为是字符串把它调用的。
// test() 正则表达式的方法  即 对象是 正则表达式， 因为是某个正则表达式把它调用的。


// \s 表示空白 空格、换行、制表符、都叫空白
// console.log(/\s/.test(" hd"))   //true  因为  有空格
// console.log(/\s/.test("\nhd"))   //true  因为  有换行
// console.log(/\S/.test(" \nhd"))   //true  因为   除了  【空格、换行、制表符】 匹配到 hd 就是为真


let hd=`
张三:010-99999999,
李四:020-88888888
`
console.log(hd.match(/[^-\d:,\s]+/g));   //【除了】这些都要 这里除了“空白”  //["张三", "李四"]

        </script>
    </body>
</html>
